1. Field of the Invention
The present invention relates to an image processing system for volume rendering, and more particularly to an image processing system for performing a volume rendering image processing or a region segmentation processing, using a plurality of computers connected via a network.
2. Description of the Related Art
With the development of an image processing technique using the computer, the appearance of CT (Computed Tomography) scanner and MRI (Magnetic Resonance Imaging) that enables an internal structure of the human body to be directly observed has brought about innovation in the medical field. A medical diagnosis using a tomographic image of the living body has been widely performed. In recent years, as a technique for visualizing the three dimensional structure inside the complex human body which is difficult to recognize only with the tomographic image, for example, a processing technique for directly drawing an image of the corresponding three dimensional structure from the three dimensional digital data of the object obtained from CT scanner or other image acquiring system, particularly an image processing called the volume rendering, has widespread, and has been employed for medical diagnosis.
Conventionally, a ray casting has been well known as a superior method for volume rendering. The ray casting is a method for forming an transparent image of the three dimensional structure inside the object by radiating virtual rays from a virtual starting point to the object, and forming the image of a virtual reflected light which comes from inside the object on a virtual projection plane. A fundamental theory of the ray casting is described in “Introduction To Volume Rendering”, written by Barthold Lichtenbelt, Randy Crane, and Shaz Naqvi, Hewlett-Packard Professional Books (published in 1998), Chapter 6, pg. 121-138, for example.
Herein, the ray casting is briefly described.
A minute unit area forming a constituent unit of the three dimensional area of the object is called a voxel, and the intrinsic data of the voxel representing the characteristic such as a density value is called a voxel value. The entire object is represented by the voxel data which is the three dimensional array of the voxel values. Usually, two dimensional tomographic image data obtained by CT scanner or other image acquiring system is layered along a direction perpendicular to a tomographic face, and interpolated, as required, whereby the voxel data of the three dimensional array is obtained.
A virtual reflected light from the virtual rays radiated from the virtual starting point to the object is produced in accordance with opacity, an opacity value, which is artificially set by the voxel value. Moreover, in order to shade a virtual surface stereoscopically, a gradient of the voxel data, that is a normal vector, is obtained, and the shading factor for shading is calculated from the cosine of an angle between the virtual ray and the normal vector. The virtual reflected light is calculated by multiplying the intensity of the virtual rays radiated to the voxel by the opacity of voxel and the shading factor. The virtual reflected light is integrated along the virtual rays, and calculated for all the coordinate points on the virtual projection plane, whereby the virtual transparent image of three dimensional structure is formed. The above calculation is hereinafter referred to as a “volume rendering process”.
A volume rendering image obtained as described above is a three dimensional color image drawn by using a number of volume rendering parameters for the subject voxel data.
The volume rendering parameters include the display control information such as enlargement ratio, angle and position, the color designation information, the correspondence information between the voxel value and the opacity value, the shading information, an image filter, an image synthesis method, a rendering means, a light source, a time series and phase information, a projection method, a display area information, and a segmented area information. These pieces of information are referred to as the “additional information” in the following.
In the practical medial diagnosis, the user of a medical image processing system observes the volume rendering image from various points of view by successively updating the settings of the volume rendering parameters, which is an additional information, for the subject voxel data. For example, since the adequate opacity value varies according to a diagnosis object, the user sets up the opacity value for each voxel data. Also, in order to easily observe an area of interest such as a diseased part, the peripheral tissue obstructing the observation is removed, and the appropriate color of tissue is set.
Besides, it is necessary for the user to set the parameters by performing various complicating operations. If the appropriate parameters are set and the volume rendering image which meets the diagnosis purpose is obtained, an edit operation is ended.
Conventionally, the total process of image processing of volume rendering, including storage, calculation and display, is performed by one or more computers. Especially when a plurality of computers are employed, various measures are taken mainly for the distribution of computer resources requiring an enormous amount of computation and the parallel processing.
Also, various methods for distributing the total process of image processing of volume rendering over a plurality of computers have been offered (e.g., refer to JP-A-2003-233600).
In the conventional volume rendering image processing system, various measures are taken for the distribution of computer resources and the parallel processing, as previously described.
However, in the volume rendering which requires a large amount of computation at high precision and in real time, there is a limit if the total computation is performed by the computer resource of one computer.
Thus, when a plurality of computers is employed, it is required that the volume rendering processing is partitioned beforehand into appropriate jobs, which is equal to loads, so as to make the plurality of computers execute distributed processing. Generally, its management is very difficult, and may cause an overhead, which lowers the system efficiency in the worst case.
Particularly, even though the load information and resource use situation of the plurality of computers are collected beforehand to assign the jobs fairly, it is not easy to predict the end time.